package com.ilearn.iodata.iolingo.service.metadata.api;


import com.ilearn.iodata.iolingo.service.metadata.core.edm.mapper.exception.ODataGenericModelException;
import com.ilearn.iodata.iolingo.service.metadata.core.edm.mapper.extention.*;

public abstract class GenericEdmMetadataPostProcessor {
    public void processEntityContainer(final IntermediateEntityContainerAccess container) {}

    public abstract void processEntityType(final IntermediateEntityTypeAccess entityType);

    public void processEntitySet(final IntermediateEntitySetAccess entitySet) {}

    public abstract void processNavigationProperty(final IntermediateNavigationPropertyAccess property,
                                                   final String jpaManagedTypeClassName);

    /**
     *
     * @param property
     * @param jpaManagedTypeClassName
     * @return
     */
    public abstract void processProperty(final IntermediatePropertyAccess property, final String jpaManagedTypeClassName);

    //public abstract void provideReferences(final IntermediateReferenceList references) throws ODataGenericModelException;
}
